package com.passive.lock.utils.tree;

import java.util.ArrayList;
import java.util.List;

import com.passive.lock.model.vo.TMenuVo;

public class TreeRightUtil {
	/**
	    * @Title: getfatherNode
	    * @Description 方法描述: 父节点
	    * @param 设定文件： @param treeDataList
	    * @param 设定文件： @return    
	    * @return 返回类型：List<TMenuVo>    
	    * @throws
	    * @date 最后修改时间：2015年6月9日 下午6:39:26
	    */
	    public final static List<TMenuVo> getfatherNode(List<TMenuVo> treeDataList) {
	        List<TMenuVo> newTreeDataList = new ArrayList<TMenuVo>();
	        for (TMenuVo TMenuVo : treeDataList) {
	            if(TMenuVo.getPcode()==null||"".equals(TMenuVo.getPcode())) {
	                //获取父节点下的子节点
	                TMenuVo.setChildren(getChildrenNode(TMenuVo.getCode(),treeDataList));
	                //TMenuVo.setOpen(true);
	                newTreeDataList.add(TMenuVo);
	            }
	        }
	        return newTreeDataList;
	    }
	     
	    /**
	    * @Title: getChildrenNode
	    * @Description 方法描述: 子节点
	    * @param 设定文件： @param pid
	    * @param 设定文件： @param treeDataList
	    * @param 设定文件： @return    
	    * @return 返回类型：List<TMenuVo>    
	    * @throws
	    * @date 最后修改时间：2015年6月9日 下午6:39:50
	    */
	    private final static List<TMenuVo> getChildrenNode(String code , List<TMenuVo> treeDataList) {
	        List<TMenuVo> newTreeDataList = new ArrayList<TMenuVo>();
	        for (TMenuVo TMenuVo : treeDataList) {
	            if(TMenuVo.getPcode()==null||"".equals(TMenuVo.getPcode()))  continue;
	            //这是一个子节点
	            if(code.equals(TMenuVo.getPcode())){
	                //递归获取子节点下的子节点
	                TMenuVo.setChildren(getChildrenNode(TMenuVo.getCode(), treeDataList));
	                newTreeDataList.add(TMenuVo);
	            }
	        }
	        return newTreeDataList;
	    }
}
